<?php

/**
 * This is the model class for table "{{postviews}}".
 *
 * The followings are the available columns in table '{{postviews}}':
 * @property integer $id
 * @property integer $frequency
 *
 * The followings are the available model relations:
 * @property Post $post_id
 */
class Postviews extends CActiveRecord
{

        public function addRelatedPostiview($id)
        {
                $postview = new Postviews;
                $postview->id = $id;
                $postview->frequency = 0;
                $postview->save();
        }

        /**
         * Returns the static model of the specified AR class.
         * @param string $className active record class name.
         * @return Postviews the static model class
         */
        public static function model($className = __CLASS__)
        {
                return parent::model($className);
        }

        /**
         * @return string the associated database table name
         */
        public function tableName()
        {
                return '{{postviews}}';
        }

        /**
         * @return array validation rules for model attributes.
         */
        public function rules()
        {
                // NOTE: you should only define rules for those attributes that
                // will receive user inputs.
                return array(
                        array('id', 'required'),
                        array('id, frequency', 'numerical', 'integerOnly' => true),
                        // The following rule is used by search().
                        // Please remove those attributes that should not be searched.
                        array('id, frequency', 'safe', 'on' => 'search'),
                );
        }

        /**
         * @return array relational rules.
         */
        public function relations()
        {
                // NOTE: you may need to adjust the relation name and the related
                // class name for the relations automatically generated below.
                return array(
                        'post_id' => array(self::BELONGS_TO, 'Post', 'id'),
                );
        }

        /**
         * @return array customized attribute labels (name=>label)
         */
        public function attributeLabels()
        {
                return array(
                        'id' => 'ID',
                        'frequency' => 'Frequency',
                );
        }

        /**
         * Retrieves a list of models based on the current search/filter conditions.
         * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions.
         */
        public function search()
        {
                // Warning: Please modify the following code to remove attributes that
                // should not be searched.

                $criteria = new CDbCriteria;

                $criteria->compare('id', $this->id);
                $criteria->compare('frequency', $this->frequency);

                return new CActiveDataProvider($this, array(
                                'criteria' => $criteria,
                        ));
        }

}